package org.jeecg.modules.tencent_esign.tencent_contract.service;

import com.alibaba.fastjson.JSONObject;
import com.tencentcloudapi.essbasic.v20210526.models.CreateFlowsByTemplatesRequest;
import com.tencentcloudapi.essbasic.v20210526.models.TemplateInfo;
import org.apache.ibatis.annotations.Param;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.modules.nurse_hospital.entity.NurseHospital;
import org.jeecg.modules.tencent_esign.tencent_contract.entity.CreateFlowDTO;
import org.jeecg.modules.tencent_esign.tencent_contract.entity.TemplateInfoDTO;
import org.jeecg.modules.tencent_esign.tencent_contract.entity.TencentContractInfo;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;

/**
 * @Description: 电子签合同记录表
 * @Author: jeecg-boot
 * @Date:   2025-07-10
 * @Version: V1.0
 */
public interface ITencentContractInfoService extends IService<TencentContractInfo> {
    //调用腾讯电子签查询模板信息列表接口
    Result<List<TemplateInfoDTO>> getDescribeTemplates(CreateFlowDTO createFlowDTO);

    // 调用腾讯电子签创建签署流程CreateFlowsByTemplates接口
     Result<String>  createFlowByTemplate(CreateFlowDTO createFlowDTO);
    // 生成子客登录链接接口
    Result<String> getCreateConsoleLoginUrl(CreateFlowDTO createFlowDTO);
   //给子客企业生成签署链接

    //给个人/自然人生成签署链接
    Result<String>  createPersonSignLink(CreateFlowDTO createFlowDTO);
    //正式的回调URL
    Result<String>  handleCallback(HttpServletRequest request, String body) throws Exception;

}
